<?php
// 主框架初始化

// 定义项目根目录的绝对路径
define('V7_ROOT', __DIR__);
define('V7_LOGS', __DIR__.'/logs'); //核心框架的日志目录
define('V7_TMP', __DIR__.'/tmps'); //核心框架的日志目录
define('V7_COMPONENTS', __DIR__.'/Components'); //核心框架的日志目录

// 1. 引入必要的类文件（在自动加载生效前，需要手动加载）
require_once V7_ROOT . '/Core/Define.php';
require_once V7_ROOT . '/Core/Function.php';
require_once V7_ROOT . '/Core/Autoloader/IFinder.php';
require_once V7_ROOT . '/Core/Autoloader/Psr4Finder.php';
require_once V7_ROOT . '/Core/Autoloader/Manager.php';

use Zyucv7\Core\Autoloader\Manager as AutoloaderManager;
use Zyucv7\Core\Autoloader\Psr4Finder;
use Zyucv7\Core\Error\Error AS Zyucv7Error;

$manager = new AutoloaderManager();

// 第一步：自动加载器注册
// 3. 创建一个PSR-4查找器并添加命名空间映射
$psr4Finder = new Psr4Finder();
// 将 'MyApp\' 命名空间映射到 src 目录
$psr4Finder->addNamespace('Zyucv7\\', V7_ROOT);
// 4. 将查找器添加到管理器
$manager->addFinder($psr4Finder);
// 5. 注册自动加载器
$manager->register();

Zyucv7Error::init();
?>